// var i;
// var $resKeeper = require("./ResKeeper");
// var $nodePoolMag = require("./NodePoolMag");
// var l = cc._decorator;
// var u = l.ccclass;
// var d = (l.property, l.inspector);
// var p = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.xuelinag = 0;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.initHuDu = function (e) {
//         this.xuelinag = e;
//     };
//     t.prototype.subXueLiang = function (e) {
//         this.xuelinag -= e;
//         var t = this.node.opacity;
//         cc.tween(this.node)
//             .to(0.1, {
//                 opacity: t - 50
//             })
//             .to(0.1, {
//                 opacity: t
//             })
//             .start();
//         if (this.xuelinag <= 0) {
//             $nodePoolMag.NodePoolMag.instance.recycleNode("hudun", this.node);
//         }
//     };
//     return __decorate([u], t);
// })($resKeeper.default);
// exports.default = p;

// import ResKeeper from './ResKeeper';
// import { NodePoolMag } from './NodePoolMag';

// const { ccclass, property, inspector } = cc._decorator;

// /**
//  * 建议类名：Shield
//  */
// @ccclass
// class Shield extends ResKeeper {
//     /** 血量 */
//     public xuelinag: number = 0;

//     constructor() {
//         super();
//     }

//     /**
//      * 初始化护盾的血量
//      * @param health 初始血量
//      * 建议方法名：initializeHealth
//      */
//     public initHuDu(health: number): void {
//         this.xuelinag = health;
//     }

//     /**
//      * 减少护盾的血量
//      * @param damage 受到的伤害
//      * 建议方法名：reduceHealth
//      */
//     public subXueLiang(damage: number): void {
//         this.xuelinag -= damage;
//         const currentOpacity = this.node.opacity;

//         cc.tween(this.node)
//             .to(0.1, { opacity: currentOpacity - 50 })
//             .to(0.1, { opacity: currentOpacity })
//             .start();

//         if (this.xuelinag <= 0) {
//             NodePoolMag.instance.recycleNode("hudun", this.node);
//         }
//     }
// }

// export default Shield;

import ResKeeper from './ResKeeper';
import { NodePoolMag } from './NodePoolMag';

const { ccclass, property, inspector } = cc._decorator;

/**
 * 建议类名：Shield
 */
@ccclass
class ViewShield extends ResKeeper {
    /** 血量 */
    public xuelinag: number = 0;

    constructor() {
        super();
    }

    /**
     * 初始化护盾的血量
     * @param health 初始血量
     * 建议方法名：initializeHealth
     */
    public initializeHealth(initialHealth: number): void {
        this.xuelinag = initialHealth;
    }

    /**
     * 减少护盾的血量
     * @param damage 受到的伤害
     * 建议方法名：reduceHealth
     */
    public reduceHealth(damageAmount: number): void {
        this.xuelinag -= damageAmount;
        const nodeCurrentOpacity = this.node.opacity;

        cc.tween(this.node)
            .to(0.1, { opacity: nodeCurrentOpacity - 50 })
            .to(0.1, { opacity: nodeCurrentOpacity })
            .start();

        if (this.xuelinag <= 0) {
            NodePoolMag.instance.recycleNodeToPool("hudun", this.node);
        }
    }
}

export default ViewShield;